package com.xdcplus.web.common.pojo.dto.wip;

import com.xdcplus.mp.domain.oracle.Base;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * 投料/拆包计划表(WipUnpackPlan)表更新入参DTO类
 * 
 * @author xyy
 * @since 2023-05-04 19:55:25
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "")
@SuppressWarnings("serial")
public class WipUnpackPlanDTO extends Base implements Serializable {
    private static final long serialVersionUID = -85290097439877427L;

    @NotBlank(message = "设备不能为空")
    @ApiModelProperty("设备编号")
    private List<String> toolCodes;

    @ApiModelProperty("来料批次")
    private String suppliedBatch;

    @ApiModelProperty("料盒容量")
    private Long magazineCapacity;

    @NotBlank(message = "工单编号不能为空")
    @ApiModelProperty(value = "工单编号", required = true)
    private String woCode;

    @NotNull(message = "标记类型不能为空")
    @ApiModelProperty(value = "标记类型: 1-生产工单 2-返工工单 3-实验工单(可混) 4-实验工单(不可混)", required = true)
    private Integer markType;

    @ApiModelProperty("投产班次")
    private Long pmShiftPlanIdFk;

    @ApiModelProperty("投产日期")
    private String commissioningDate;

    @ApiModelProperty("计划数量")
    private Long plannedQuantity;

    @ApiModelProperty("下达状态")
    private String commandStatus;

    @ApiModelProperty("待拆数量")
    private Long dismantledCount;

    @ApiModelProperty("已拆数量")
    private Long takenApartCount;

    @ApiModelProperty("工单id")
    private Long pmWoFkId;

    @ApiModelProperty("提醒工序，有多个，逗号分隔，至少一个")
    private String warnOpeCodes;

    @ApiModelProperty("提醒人员")
    private List<Long> reminders;

}
